package com.hafu.dao;

import com.hafu.model.KhInfo;
import com.hafu.util.DbUtil;
import com.hafu.util.StringUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class KhInfoDao {
    // 添加客户信息
    public Boolean addKhInfo(KhInfo kh) {
        String sql = "insert into Khinfo values(null,?,?)";
        Connection conn = DbUtil.getConnection();
        try {
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            preparedStatement.setString(1, kh.getName());
            preparedStatement.setString(2, kh.getTel());
            int i = preparedStatement.executeUpdate();
            if (i > 0) {
                System.out.println("添加成功");
                return true;
            } else return false;

        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return false;
    }

    public Boolean delKhInfo(int id) {
        String sql = "delete from khinfo where id=?";
        Connection conn = DbUtil.getConnection();
        try {
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            preparedStatement.setInt(1, id);
            long i = preparedStatement.executeLargeUpdate();
            if (i > 0) {
                System.out.println("删除成功");
                return true;
            } else return false;

        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return false;
    }
//根据客户的名字查询客户的信息
   public ArrayList<KhInfo> getKhInfoByName(KhInfo kh) {
    ArrayList<KhInfo> list=new ArrayList<>();
    Connection conn = DbUtil.getConnection();
    String sql="select * from khinfo";
    if (StringUtil.isEmpty(kh.getName())){
        sql+=" where name like '%"+kh.getName()+"%'";
    }
    try {
        PreparedStatement preparedStatement = conn.prepareStatement(sql);
        ResultSet resultSet = preparedStatement.executeQuery();
        while (resultSet.next()) {
          int id=resultSet.getInt("id");
          String name=resultSet.getString("name");
          String tel=resultSet.getString("tel");
          KhInfo khInfo=new KhInfo(id,name,tel);
          list.add(khInfo);
        }
    } catch (SQLException throwables) {
        throwables.printStackTrace();
    }
    return list;
    }
    public Boolean updateKhInfo(KhInfo kh) {
        String sql="update khinfo set name=?,tel=? where id=?";
        Connection conn = DbUtil.getConnection();
        try {
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            preparedStatement.setString(1,kh.getName());
            preparedStatement.setString(2,kh.getTel());
            preparedStatement.setInt(3,kh.getId());
            int i = preparedStatement.executeUpdate();
            if (i>0){
                return true;
            }else return false;
        } catch (SQLException throwables) {
            throwables.printStackTrace();

        }
        return false;
    }

}
